This invention relates to a slider control for a graphic user interface (GUI) desktop (such as that provided by Windows/95/98/NT produced by Microsoft Corporation or OS/2 produced by IBM Corporation) or for any GUI based display (such as that provided within a Browser, whether Java enabled or not).
FIG. 1 illustrates a window frame 10 including two conventional slider controls, a vertical one 11 on the right hand side (RHS) of the window and a horizontal one 12 running along: the bottom of the window. Each slider has an end-point 13 at each end (shown by the arrows) and a bar 14 which indicates the position of the slider control and its relative value.
One usage of a slider control is for scroll bars. Scroll bars are slider controls which are nested within an owning window to map viewports, areas smaller than the size of a larger window within which the larger window is partially display ed. The displayed window and its scroll bars all have handles associated with them. The handle of the owning window is obtained upon creation from a desktop manager, the component of an operating system for controlling the desktop display. When each scroll bar is created, the creation is done upon the handle of the owning window (the window that is going to contain the slider) and a handle returned. Thus, there is a handle hierarchy where the process owning the window handle knows about the handle for both the vertical and horizontal scroll bars.
A slider/scroll bar is manipulated by the user by clicking on the end arrows 13 or moving the slider bar 14 by mouse or keyboard interaction. By convention, a click on an end arrow moves the bar one position in the required direction. The slider bar 14 moves in increments that can be specified at run time. When the slider control is being used as a scroll bar, an event indicating movement of the slider (by keyboard or mouse click on the end arrows or by the mouse moving the bar etc.) is sent to the window owning process which repositions the viewport according to the current position of the bar in the slider.
In a Microsoft operating system environment, a slider is implemented as a window (which is why it has a handle) containing optional tick marks. A tick mark corresponds to a position of the bar in the slider, and hence the value of the slider. The value of the slider control (or the position of the slider bar) is the current tick mark at which the bar is positioned.
The properties of the slider control can be altered including setting the maximum and minimum settings for the slider (the top/bottom or left/right values), setting and displaying the tick marks, setting the number of tick marks that the bar 14 covers (by default, one), setting the number of tick marks by which a press on the end arrows moves the bar (by default, one tick mark incremented or decremented according to down/right or up/left) and positioning the bar (setting the value of the slider control).
When a slider control is used as a scroll bar, the value of the sliderxe2x80x94the position of the barxe2x80x94is used to control the viewport. So, a large window could contain the information shown in FIG. 2(a), and in a smaller window a slider could be used as a scroll bar to position a viewport upon this larger display as shown in FIG. 2(b), and by moving the bar, a different piece of the underlying data can be shown in the viewport, as shown in FIG. 2(c).
Consider now a slider used as a scroll bar in a GUI-based editor. When such sliders operate as scroll bars when editing or viewing a large document through a viewport, the vertical scroll bar positions the viewport on a line basis, whilst an horizontal scroll bar positions the viewport within the contents of lines. When editing text lines in a GUI-based editor, the viewport shows the current area of the file being changed.
A problem exists for a user who wants to add or view characters at the end of a line, in that it is difficult to know whether it is more convenient, easier or logically better to scroll using the keyboard one character at a time, or to reposition the viewport with the mouse, or use the keyboard to position the viewport at the end of the current line. All these operational methods have their advantages and disadvantages, but the one to use depends on the current context.
Thus, if a user needs only to move the viewport slightly, it may be better to use the keyboard than to take the trouble of grabbing the mouse, positioning it on the arrow part of the scroll bar and clicking.
It should also be noted that when editing a file and altering a single line in a GUI-enabled editor, the horizontal scroll bar shows the position of the viewport relative to the longest line in the file. There is no information available as to the length of the current line. Consequently, there is no way of deducing whether use of right arrow, the End key, a click on the right arrow of the horizontal scroll bar or moving the bar on the horizontal scroll bar is the best way of, say, getting to the end of the line in order to append or view characters.
The intuitive action of pressing the End key (assuming it is implemented to go to the end of the line within the editor program) may not exhibit the behaviour required, as this will reposition the viewport in a manner that may not be required by the user (such as aligning the RHS of the viewport 10 characters to the right of the last character on the line, or putting the viewport boundary exactly at the end point of the line etc.).
The present invention addresses this difficulty, primarily with vertical scroll bars, and mitigates the problem by providing a slider control with additional properties.
Accordingly, the present invention provides a slider control component for a graphic user interface cooperable with a viewport of a graphic user interface interactive application in which information is displayed, said information being divisible into a series of information vectors of varying lengths, at least some of which are longer than the length of the viewport in a direction parallel to said vectors, said slider control being adapted for display orthogonally to said vectors and being adapted to display the degree to which these vectors exceed said viewport length.